<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    var arr = [1, 2, 3, [4, 5, 6]];

    var obj = {
        name: "张三",
        age: 18,
        height: "180cm",
        weight: "80kg",
        hobby: ["sing", "dance", "study"]
    }

    // 传统的数组和对象转字符串 
    // console.log(arr.toString());  // "1,2,3,4,5,6"
    // console.log(zhang.toString());  //"[object Object]"

    // 网页上可以存储一些数据(字符串类型)  -> 存储数组和对象会有问题!!!(结构被毁坏,数据丢失) => 在不破坏数组和对象解构的情况下 将其转化为字符串
    // 前端向后端请求数据, 后端给的数据是字符串(text, html,json字符串), 如果是json字符串 => 还原为数组和对象

    // JSON对象 (提供了 数组,对象 和 JSON字符串之间相互转化的方法)
    // JSON.stringify()   将数组和对象转化为JSON字符串(在不破坏数组和对象结构的情况下 将其转化为JSON字符串)
    // JSON.parse()      将JSON字符串转化为数组和对象 
    // console.log(JSON); // JSON对象 

    // JSON.stringify()
    var arrStr = JSON.stringify(arr);
    console.log(1, arrStr);

    var objStr = JSON.stringify(obj);
    console.log(1, objStr);


    // JSON.parse() 
    var arr1 = JSON.parse(arrStr);
    console.log(arr1);

    var obj1 = JSON.parse(objStr);
    console.log(obj1);


    //  JSON.stringify() 配合 JSON.parse() 使用  => 可以实现数组/对象的深拷贝


</script>

</html>